LanguageManager.guessLanguage

Picks a [class@Language] for given file name and content type, according to the information in lang files.

Either @filename or @content_type may be %NULL. This function can be used as follows:

GtkSourceLanguage *lang;
GtkSourceLanguageManager *manager;
lm = gtk_source_language_manager_get_default ();
lang = gtk_source_language_manager_guess_language (manager, filename, NULL);
gtk_source_buffer_set_language (buffer, lang);

or

GtkSourceLanguage *lang = NULL;
GtkSourceLanguageManager *manager;
gboolean result_uncertain;
gchar *content_type;

content_type = g_content_type_guess (filename, NULL, 0, &result_uncertain);
if (result_uncertain)
{
g_free (content_type);
content_type = NULL;
}

manager = gtk_source_language_manager_get_default ();
lang = gtk_source_language_manager_guess_language (manager, filename, content_type);
gtk_source_buffer_set_language (buffer, lang);

g_free (content_type);

etc. Use [method@Language.get_mime_types] and [method@Language.get_globs] if you need full control over file -> language mapping.

class LanguageManager
guessLanguage
(
string filename
,)

Parameters

filename string

a filename in Glib filename encoding, or %NULL.

contentType string

a content type (as in GIO API), or %NULL.

Return Value

Type: Language

a #GtkSourceLanguage, or %NULL if there is no suitable language for given @filename and/or @content_type. Return value is owned by @lm and should not be freed.

Meta